#pragma GCC optimize(2, "Ofast", "inline")
#include <iostream>
#include <vector>
#include <map>
#include <cmath>
#include <set>
#include <queue>
#include <stack>
#include <list>
#include <unordered_map>
#include <algorithm>
#define endl '\n'
#define int long long
#define pii pair<int, int>
using namespace std;

// 已知
int n, a[333333];


// 未知
int cnt = 0, pre = 0, ans = 0;

signed main()
{
    cin >> n;
    for (int i = 0;i < n;++i) cin >> a[i];
    for (int i = 1;i < n;++i)
    {
        if (a[i] > a[i - 1]) ++cnt; // 上升段是波浪的起点，记录上升段长度
        else if (cnt) // 如果有上升段还遇到了下降段
        {
            ans += pre * cnt; // 上升段长度乘以上升段个数
            pre = cnt, cnt = 0; // 重置上升段个数，和上升段长度
        }
    }
    cout << ans + pre * cnt;
    return 0;
}